package cn.yougou.service;

import cn.yougou.dto.Dto;
import cn.yougou.pojo.YgCoupons;
import cn.yougou.pojo.YgOrder;
import cn.yougou.pojo.YgUserCoupons;
import cn.yougou.vo.YgCouponDerateResultVo;
import cn.yougou.vo.YgPaymentVo;
import cn.yougou.vo.YgResCommodityVo;
import cn.yougou.vo.YgResOrderVo;

import java.util.List;

/**
 * @author: DELL
 * @date: 2021/1/3 14:48
 * @description:
 */
public interface YgCouponRules {
    //执行方法
    List<YgResCommodityVo> Getjudge(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    //NEWPEOPLE 新人首单 newpeople
    List<YgResCommodityVo> newpeople(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    //MEET_MONEY 满额优惠 meet_money
    List<YgResCommodityVo> meet_money(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    //MEET_COUNT 满件优惠 meet_count
    List<YgResCommodityVo> meet_count(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    //MEET_TYPE 类型促销 meet_type
    List<YgResCommodityVo> meet_type(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    //NOTHRESHOLD 无门槛 nothreshold
    List<YgResCommodityVo> nothreshold(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVor);
    //执行判断禁止范围
    List<YgResCommodityVo> forbidScopeJudge(YgUserCoupons ygUserCoupons, List<YgResCommodityVo> data);
    //返回一个减免结果，将 List<YgResCommodityVo>数据处理，满足优惠券的商品拼接成有减免数据的字符串
    YgCouponDerateResultVo getDerateResult(YgUserCoupons ygUserCoupons, YgResOrderVo ygResOrderVo);
    void test();

}
